import { reqCategoryList, reqGetBannerList, reqFloorList } from '@/api'
//home模块的小仓库
const state = {
  //state中数据默认初始值别瞎写，服务器返回对象\数组  【根据接口返回值进行初始化的】
  categoryList: [],  //起始值 home仓库中存储三级菜单的数据
  bannerList: [],  //轮播图的数据
  floorList: [], //floor组件的数据
};
const mutations = {
  CATEGORYLIST(state, categoryList) {
    //state(第一个参数)指的是上面的state对象
    //categoryList(第二个参数)值得是从actions中传过来的值
    // console.log('state', state);
    // console.log('categoryList', categoryList);
    state.categoryList = categoryList;
  },
  GETBANNERLIST(state, bannerList) {
    state.bannerList = bannerList;
    console.log('在修改仓库中的bannerList数据');
  },
  GETFLOORLIST(state, floorList) {
    state.floorList = floorList;
    console.log('在修改仓库中的floorList数据');

  }
}
const actions = {
  //通过API里面的接口函数调用，想服务器发请求，获取服务器的数据
  async categoryList({ commit }) {
    // console.log('解构中的commit', commit);
    let result = await reqCategoryList()
    console.log('result', result);
    if (result.code == 200) {
      commit('CATEGORYLIST', result.data);
    }
  },
  //获取首页轮播图的数据
  async getBannerList({ commit }) {
    let result = await reqGetBannerList();
    console.log('向服务器发起ajax请求获取首页轮播图的数据---->vuex中home仓库中的result', result);
    if (result.code == 200) {
      commit('GETBANNERLIST', result.data);
    }
  },
  //获取floor的数据
  async getFloorList({ commit }) {
    let result = await reqFloorList();
    console.log('向服务器发起ajax请求获取floor的数据---->vuex中home仓库中的result', result);
    if (result.code == 200) {
      //提交mutation
      commit('GETFLOORLIST', result.data);
    }
  }


}

//计算属性
const getters = {}
//默认导出
export default {
  state,
  mutations,
  actions,
  getters
}